package cn.echase.ecare.yinfayun.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 新机构长者中心列表信息Vo
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class OrgElderCenterVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 2906135438385122513L;

    /**
     * 柚纯字符标识
     */
    private String ucId;

    /**
     * 所属机构标识
     */
    private String orgId;

    /**
     * 老人/患者姓名
     */
    private String name;

    /**
     * 性别 0未填写 1 男 2 女
     */
    private Integer sex;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 证件号 如身份证号
     */
    private String idNumber;

    /**
     * 入住的房间id
     */
    private String roomId;

    /**
     * 入住的楼层id
     */
    private String floorId;

    /**
     * 入住的楼栋id
     */
    private String buildingId;

    /**
     * 当前入住的床位
     */
    private String bedId;

    /**
     * 拼接的床位名称 主楼-1楼-101-02床
     */
    private String bedName;

    /**
     * 最新一次入院时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime admissionTime;

    /**
     * 在住天数
     */
    private Integer admissionDays;

    /**
     * 照护等级名称
     */
    private String careLevelName;

    /**
     * 照护等级Id
     */
    private String careLevelId;

    /**
     * 照护等级
     */
    private Integer careLevel;

    /**
     * 长护险等级名称
     */
    private String longTermCareLevelName;

    /**
     * 长护险等级Id
     */
    private String longTermCareLevelId;

    /**
     * 长护险等级
     */
    private Integer longTermCareLevel;

    /**
     * 在院状态 -1 登记信息 0离院 1 在院
     */
    private Integer status;

    /**
     * 离院时间
     */
    @JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss")
    private LocalDateTime checkOutDate;

    /**
     * 老人/患者编号
     */
    private String identifier;

    /**
     * 防护措施 1、防噎食 2、防跌倒 3、防坠床 4、防烫伤 5、防压疮 6、防走失
     */
    private List<Integer> safeguard;

    /**
     * 饮食要求 1、低糖 2、低盐 3、低脂 4、低嘌呤 5、半流质 6、流质
     */
    private List<Integer> dietaryRequirements;

    /**
     * 现病史(前端选择的文字数组)
     */
    private List<String> presentMedicalHistory;

    /**
     * 入住形式 0:单人包床 1:单人包房 2:夫妻包房
     */
    private String checkInType;
}
